//## begin module%3B890A230364.cm preserve=no
//	  %X% %Q% %Z% %W%
//## end module%3B890A230364.cm

//## begin module%3B890A230364.cp preserve=no
//	+----------------------------------------------+
//	| SVMBR - A program for training SVMs          |
//	+----------------------------------------------+
//	| * Creator, modeling, coding:                 |
//	|    Marcelo Barros de Almeida                 |
//	|    barros@smar.com.br                        |
//	|    http://litc.cpdee.ufmg.br/~barros/        |
//	| * Coding, improvements, bug fixes:           |
//	|    Bernardo Penna                            |
//	|    bprc@brfree.com.br                        |
//	+----------------------------------------------+
//
//	 Copyright(c) 2002 by Marcelo Barros de Almeida
//	                            All rights reserved
//
//	-[CVS]------------------------------------------
//	$Author$
//	$Date$
//	$Source$
//	$Name$
//	$Revision$
//	------------------------------------------------
//## end module%3B890A230364.cp

//## Module: lineargs%3B890A230364; Package specification
//## Subsystem: <Top Level>
//## Source file: D:\textotese\svmbr\src\lineargs.h

#ifndef lineargs_h
#define lineargs_h 1

//## begin module%3B890A230364.additionalIncludes preserve=no
//## end module%3B890A230364.additionalIncludes

//## begin module%3B890A230364.includes preserve=yes
//## end module%3B890A230364.includes

// data
#include "data.h"
// svm
#include "svm.h"
// solver
#include "solver.h"
// kernel
#include "kernel.h"
// global
#include "global.h"
//## begin module%3B890A230364.declarations preserve=no
//## end module%3B890A230364.declarations

//## begin module%3B890A230364.additionalDeclarations preserve=yes
#define MAX_LEN 120
struct class_arguments {
    CHAR  svmFile[_MAX_PATH];
    SHORT kernelType;
    REAL C;
    REAL p1;
    REAL p2;
    REAL p3;     
    REAL epsilon;
    REAL tol; 
    INT maxIter;
    INT numEDR;
    REAL EDRPower;
    SHORT limit;
};
//## end module%3B890A230364.additionalDeclarations


//## begin LineArgs%3B8909B000C0.preface preserve=yes
//## end LineArgs%3B8909B000C0.preface

//## Class: LineArgs%3B8909B000C0
//## Category: LineArgs package%3B89098D00BF
//## Subsystem: <Top Level>
//## Persistence: Transient
//## Cardinality/Multiplicity: n

class LineArgs 
{
  //## begin LineArgs%3B8909B000C0.initialDeclarations preserve=yes
  //## end LineArgs%3B8909B000C0.initialDeclarations

  public:
    //## Constructors (specified)
      //## Operation: LineArgs%998880759
      LineArgs (INT argn, CHAR **argv);

    //## Destructor (generated)
      ~LineArgs();


    //## Other Operations (specified)
      //## Operation: checkLineArgs%998880760
      INT checkLineArgs (INT argn, CHAR **argv);

      //## Operation: loadParams%998880764
      INT loadParams (INT argn, CHAR **argv);

      //## Operation: setDefaultValues%998880762
      VOID setDefaultValues (INT i);

      //## Operation: printHelp%998880763
      VOID printHelp (CHAR *prog);

      //## Operation: printSummary%998880765
      VOID printSummary ();

      //## Operation: hasTraining%998880766
      INT hasTraining ();

      //## Operation: hasTesting%998880767
      INT hasTesting ();

      //## Operation: readFile%1003594006
      INT readFile (CHAR *filename);

      //## Operation: _GetProfileInt%1003594007
      INT _GetProfileInt (CHAR *filename, CHAR *section, CHAR *key, INT value);

      //## Operation: _SetProfileInt%1013885160
      INT _SetProfileInt (CHAR *filename, CHAR *section, CHAR *key, INT value);

      //## Operation: _GetProfileReal%1003594008
      REAL _GetProfileReal (CHAR *filename, CHAR *section, CHAR *key, REAL value);

      //## Operation: _SetProfileReal%1013885161
      INT _SetProfileReal (CHAR *filename, CHAR *section, CHAR *key, REAL value);

      //## Operation: _GetProfileString%1003594009
      VOID _GetProfileString (CHAR *filename, CHAR *section, CHAR *key, CHAR *value, CHAR *strkey);

      //## Operation: _SetProfileString%1013885162
      INT _SetProfileString (CHAR *filename, CHAR *section, CHAR *key, CHAR *value);

      //## Operation: _strnicmp%1004816842
      INT _strnicmp (CHAR *str1, CHAR *str2, INT n);

      //## Operation: _strlwr%1004816843
      CHAR * _strlwr (CHAR* str);

    // Data Members for Class Attributes

      //## Attribute: dataType%3B8909FE00C2
      //## begin LineArgs::dataType%3B8909FE00C2.attr preserve=no  public: SHORT {UA} 
      SHORT dataType;
      //## end LineArgs::dataType%3B8909FE00C2.attr

      //## Attribute: kernelType%3B890A0B0143
      //## begin LineArgs::kernelType%3B890A0B0143.attr preserve=no  public: SHORT {UA} 
      SHORT kernelType;
      //## end LineArgs::kernelType%3B890A0B0143.attr

      //## Attribute: C%3B89B4020351
      //## begin LineArgs::C%3B89B4020351.attr preserve=no  public: REAL {UA} 
      REAL C;
      //## end LineArgs::C%3B89B4020351.attr

      //## Attribute: epsilon%3B89B4720167
      //## begin LineArgs::epsilon%3B89B4720167.attr preserve=no  public: REAL {UA} 
      REAL epsilon;
      //## end LineArgs::epsilon%3B89B4720167.attr

      //## Attribute: tol%3B89B479012B
      //## begin LineArgs::tol%3B89B479012B.attr preserve=no  public: REAL {UA} 
      REAL tol;
      //## end LineArgs::tol%3B89B479012B.attr

      //## Attribute: trainPattFile%3B89B47D03D0
      //## begin LineArgs::trainPattFile%3B89B47D03D0.attr preserve=no  public: CHAR [_MAX_PATH] {UA} 
      CHAR  trainPattFile[_MAX_PATH];
      //## end LineArgs::trainPattFile%3B89B47D03D0.attr

      //## Attribute: testPattFile%3B89B4960097
      //## begin LineArgs::testPattFile%3B89B4960097.attr preserve=no  public: CHAR [_MAX_PATH] {UA} 
      CHAR  testPattFile[_MAX_PATH];
      //## end LineArgs::testPattFile%3B89B4960097.attr

      //## Attribute: trainOutFile%3B8A366E02DD
      //## begin LineArgs::trainOutFile%3B8A366E02DD.attr preserve=no  public: CHAR [_MAX_PATH] {UA} 
      CHAR  trainOutFile[_MAX_PATH];
      //## end LineArgs::trainOutFile%3B8A366E02DD.attr

      //## Attribute: testOutFile%3B8A368A03C3
      //## begin LineArgs::testOutFile%3B8A368A03C3.attr preserve=no  public: CHAR [_MAX_PATH] {UA} 
      CHAR  testOutFile[_MAX_PATH];
      //## end LineArgs::testOutFile%3B8A368A03C3.attr

      //## Attribute: solverMethod%3B89B49B01FC
      //## begin LineArgs::solverMethod%3B89B49B01FC.attr preserve=no  public: SHORT {UA} 
      SHORT solverMethod;
      //## end LineArgs::solverMethod%3B89B49B01FC.attr

      //## Attribute: maxIter%3B89B4B3039B
      //## begin LineArgs::maxIter%3B89B4B3039B.attr preserve=no  public: INT {UA} 
      INT maxIter;
      //## end LineArgs::maxIter%3B89B4B3039B.attr

      //## Attribute: numEDR%3B89B50901BE
      //## begin LineArgs::numEDR%3B89B50901BE.attr preserve=no  public: INT {UA} 
      INT numEDR;
      //## end LineArgs::numEDR%3B89B50901BE.attr

      //## Attribute: p1%3B89B5300160
      //## begin LineArgs::p1%3B89B5300160.attr preserve=no  public: REAL {UA} 
      REAL p1;
      //## end LineArgs::p1%3B89B5300160.attr

      //## Attribute: p2%3B89B5350095
      //## begin LineArgs::p2%3B89B5350095.attr preserve=no  public: REAL {UA} 
      REAL p2;
      //## end LineArgs::p2%3B89B5350095.attr

      //## Attribute: p3%3B89B539033A
      //## begin LineArgs::p3%3B89B539033A.attr preserve=no  public: REAL {UA} 
      REAL p3;
      //## end LineArgs::p3%3B89B539033A.attr

      //## Attribute: svmFile%3B89B55B0108
      //## begin LineArgs::svmFile%3B89B55B0108.attr preserve=no  public: CHAR [_MAX_PATH] {UA} 
      CHAR  svmFile[_MAX_PATH];
      //## end LineArgs::svmFile%3B89B55B0108.attr

      //## Attribute: limit%3B8A3AA101B6
      //## begin LineArgs::limit%3B8A3AA101B6.attr preserve=no  public: SHORT {UA} 
      SHORT limit;
      //## end LineArgs::limit%3B8A3AA101B6.attr

      //## Attribute: numClasses%3BD1A6720259
      //## begin LineArgs::numClasses%3BD1A6720259.attr preserve=no  public: INT {UA} 
      INT numClasses;
      //## end LineArgs::numClasses%3BD1A6720259.attr

      //## Attribute: params%3BD1A76B0397
      //## begin LineArgs::params%3BD1A76B0397.attr preserve=no  public: class_arguments ** {UA} 
      class_arguments **params;
      //## end LineArgs::params%3BD1A76B0397.attr

      //## Attribute: chunkSize%3BD1A7C702A9
      //## begin LineArgs::chunkSize%3BD1A7C702A9.attr preserve=no  public: INT {UA} 
      INT chunkSize;
      //## end LineArgs::chunkSize%3BD1A7C702A9.attr

      //## Attribute: EDRPower%3BF7F0410248
      //## begin LineArgs::EDRPower%3BF7F0410248.attr preserve=no  public: REAL {UA} 
      REAL EDRPower;
      //## end LineArgs::EDRPower%3BF7F0410248.attr

    // Additional Public Declarations
      //## begin LineArgs%3B8909B000C0.public preserve=yes
      //## end LineArgs%3B8909B000C0.public

  protected:
    // Additional Protected Declarations
      //## begin LineArgs%3B8909B000C0.protected preserve=yes
      //## end LineArgs%3B8909B000C0.protected

  private:
    // Additional Private Declarations
      //## begin LineArgs%3B8909B000C0.private preserve=yes
      //## end LineArgs%3B8909B000C0.private

  private: //## implementation
    // Data Members for Class Attributes

      //## Attribute: argsFile%3BD1A6970053
      //## begin LineArgs::argsFile%3BD1A6970053.attr preserve=no  public: CHAR [_MAX_PATH] {U} 
      CHAR  argsFile[_MAX_PATH];
      //## end LineArgs::argsFile%3BD1A6970053.attr

    // Additional Implementation Declarations
      //## begin LineArgs%3B8909B000C0.implementation preserve=yes
      //## end LineArgs%3B8909B000C0.implementation

};

//## begin LineArgs%3B8909B000C0.postscript preserve=yes
//## end LineArgs%3B8909B000C0.postscript

// Class LineArgs 

//## begin module%3B890A230364.epilog preserve=yes
//## end module%3B890A230364.epilog


#endif
